package com.wanxi.coupon.api.entity;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.math.BigDecimal;


@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel("优惠券实体信息")
public class Coupon  implements Cloneable {

    @ApiModelProperty(value = "增删改返回的id",example = "1")
    private Long id;
    @ApiModelProperty(value = "管理员id",example = "1")
    private Long adminId;
    @ApiModelProperty(value = "优惠券id",example = "1")
    private Long couponId;
    @ApiModelProperty(value = "用户id",example = "1")
    private Long userId;
    @ApiModelProperty(value = "商品id",example = "1")
    private Long skuId;
    @ApiModelProperty(value = "商家id" )
    private Long enterpriseId;
    @ApiModelProperty(value = "优惠券名称",required = true)
    private String couponName;
    @ApiModelProperty(value = "优惠券类型",example = "满减")
    private Integer type; //类型
    @ApiModelProperty(value = "面额10 满xxx减10或者十元代金券",example = "10")
    private BigDecimal couponMoney; //面额
    @ApiModelProperty(value = "满100减xxx",example = "100")
    private BigDecimal fullReduction; //满减
    @ApiModelProperty(value = "折扣",example = "95 ")
    private BigDecimal discount; //折扣
    @ApiModelProperty(value = "发放总量",example = "195 ")
    private Integer quota; //发放总量
    @ApiModelProperty(value = "描述",example = "平台通用 ")
    private String remark; //描述
    @ApiModelProperty(value = "适用范围",example = "全平台 ")
    private String useRange; //适用范围

//    0表示已过期 1表示正常   2已使用
    @ApiModelProperty(value = "状态 ",example = "使用中 ")
    private Integer status; //状态
    @ApiModelProperty(value = "生效时间",example = "1999-01-02 ")
    private String startTime; //生效时间
    @ApiModelProperty(value = "失效时间",example = "2999-01-02 ")
    private String endTime;  //失效时间
    private String createTime;
    private String updateTime;
    private String createUser;
    private String updateUser;
    @ApiModelProperty(value = "是否逻辑删除",example = "1")
    private Integer isDelete;
    private Integer page;
    private Integer pageSize;
    private Integer userCouponStatus;
//    过期时间
    private Long pastTime;

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
